package com.sc.nft.dao;

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sc.nft.entity.MallActivityShare;
import com.sc.nft.entity.MallProfitTemplate;
import com.sc.nft.entity.dto.MallProfitTemplateAdminPageDTO;
import com.sc.nft.enums.MallProfitTemplateTypeEnum;
import com.sc.nft.mapper.MallProfitTemplateMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;

import java.util.Objects;

/**
 * 分润模版DAO
 *
 * @author liGen
 * @version 1.0
 * @date 2024/1/10 2:01 下午
 */
@Slf4j
@Repository
public class MallProfitTemplateDao extends ServiceImpl<MallProfitTemplateMapper, MallProfitTemplate> {

    /**
     * 获取分润模版列表
     *
     * @param pageNo
     * @param pageSize
     * @param templateName
     * @param templateType
     * @param createAccount
     * @param status
     * @return
     */
    public Page<MallProfitTemplateAdminPageDTO> getAdminPage(Integer pageNo, Integer pageSize, String templateName, MallProfitTemplateTypeEnum templateType,
                                                             String createAccount, Boolean status) {

        return baseMapper.getAdminPage(new Page(pageNo, pageSize), templateName, Objects.nonNull(templateType) ? templateType.getCode() : null, createAccount, status);
    }

    /**
     * 修改分润模版上下架状态
     *
     * @param id
     * @param status
     * @return
     */
    public boolean updateStatus(Long id, Boolean status) {
        UpdateWrapper<MallProfitTemplate> wrapper = new UpdateWrapper<>();
        wrapper.eq("id", id);
        wrapper.set("status", status);
        return update(new MallProfitTemplate(), wrapper);
    }

}
